<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright (C) 2014 - Open Source Geospatial Foundation. All rights reserved.
 This code is licensed under the GPL 2.0 license, available at the root
 application directory.
 -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.geoserver</groupId>
    <artifactId>geoserver</artifactId>
    <version>2.26-SNAPSHOT</version>
  </parent>

  <groupId>org.geoserver</groupId>
  <artifactId>community</artifactId>
  <packaging>pom</packaging>
  <name>Community Space</name>

  <dependencies>
    <!-- Do not add any other dependency here, modules shall explicitly declare their dependencies -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>3.2.0</version>
        <configuration>
          <descriptors>
            <descriptor>release/ext-jdbcconfig.xml</descriptor>
            <descriptor>release/ext-dds.xml</descriptor>
            <descriptor>release/ext-colormap.xml</descriptor>
            <descriptor>release/ext-mbtiles.xml</descriptor>
            <descriptor>release/ext-mbtiles-store.xml</descriptor>
            <descriptor>release/ext-geopkg.xml</descriptor>
            <descriptor>release/ext-pgraster.xml</descriptor>
            <descriptor>release/ext-dyndimension.xml</descriptor>
            <descriptor>release/ext-flatgeobuf.xml</descriptor>
            <descriptor>release/ext-spatialjson.xml</descriptor>
            <descriptor>release/ext-webp.xml</descriptor>
            <descriptor>release/ext-gpx.xml</descriptor>
            <descriptor>release/ext-jms-cluster.xml</descriptor>
            <descriptor>release/ext-hz-cluster.xml</descriptor>
            <descriptor>release/ext-activeMQ.xml</descriptor>
            <descriptor>release/ext-solr.xml</descriptor>
            <descriptor>release/ext-elasticsearch.xml</descriptor>
            <descriptor>release/ext-gwc-distributed.xml</descriptor>
            <descriptor>release/ext-gwc-azure-blob.xml</descriptor>
            <descriptor>release/ext-gdal-wcs.xml</descriptor>
            <descriptor>release/ext-gdal-wps.xml</descriptor>
            <descriptor>release/ext-wps-remote.xml</descriptor>
            <descriptor>release/ext-jdbcstore.xml</descriptor>
            <descriptor>release/ext-ncwms.xml</descriptor>
            <descriptor>release/ext-gwc-sqlite.xml</descriptor>
            <descriptor>release/ext-oauth2-google.xml</descriptor>
            <descriptor>release/ext-oauth2-github.xml</descriptor>
            <descriptor>release/ext-oauth2-geonode.xml</descriptor>
            <descriptor>release/ext-oauth2-openid-connect.xml</descriptor>
            <descriptor>release/ext-keycloak.xml</descriptor>
            <descriptor>release/ext-backup-restore.xml</descriptor>
            <descriptor>release/ext-notification.xml</descriptor>
            <descriptor>release/ext-jdbc-metrics.xml</descriptor>
            <descriptor>release/ext-opensearch-eo.xml</descriptor>
            <descriptor>release/ext-taskmanager-core.xml</descriptor>
            <descriptor>release/ext-taskmanager-s3.xml</descriptor>
            <descriptor>release/ext-netcdf-ghrsst.xml</descriptor>
            <descriptor>release/ext-cog.xml</descriptor>
            <descriptor>release/ext-s3-geotiff.xml</descriptor>
            <descriptor>release/ext-ogr-datastore.xml</descriptor>
            <descriptor>release/ext-jwt-headers.xml</descriptor>
            <descriptor>release/ext-ogcapi-coverages.xml</descriptor>
            <descriptor>release/ext-ogcapi-dggs.xml</descriptor>
            <descriptor>release/ext-ogcapi-features.xml</descriptor>
            <descriptor>release/ext-ogcapi-images.xml</descriptor>
            <descriptor>release/ext-ogcapi-maps.xml</descriptor>
            <descriptor>release/ext-ogcapi-styles.xml</descriptor>
            <descriptor>release/ext-ogcapi-tiled-features.xml</descriptor>
            <descriptor>release/ext-ogcapi-tiles.xml</descriptor>
            <descriptor>release/ext-importer-jdbc.xml</descriptor>
            <descriptor>release/ext-features-autopopulate.xml</descriptor>
            <descriptor>release/ext-features-templating.xml</descriptor>
            <descriptor>release/ext-gsr.xml</descriptor>
            <descriptor>release/ext-smart-data-loader.xml</descriptor>
            <descriptor>release/ext-cov-json.xml</descriptor>
            <descriptor>release/ext-mongodb-schemaless.xml</descriptor>
            <descriptor>release/ext-web-service-auth.xml</descriptor>
            <descriptor>release/ext-gwc-mbtiles.xml</descriptor>
            <descriptor>release/ext-vsi.xml</descriptor>
            <descriptor>release/ext-libdeflate.xml</descriptor>
            <descriptor>release/ext-stac-datastore.xml</descriptor>
            <descriptor>release/ext-vector-mosaic-datastore.xml</descriptor>
            <descriptor>release/ext-proxy-base-ext.xml</descriptor>
            <descriptor>release/ext-imagemap.xml</descriptor>
            <descriptor>release/ext-xslt.xml</descriptor>
            <descriptor>release/ext-datadir-catalog-loader.xml</descriptor>
            <descriptor>release/ext-wps-longitudinal-profile.xml</descriptor>
            <descriptor>release/ext-monitor-kafka.xml</descriptor>
            <descriptor>release/ext-graticule.xml</descriptor>
            <descriptor>release/ext-wfs-freemarker.xml</descriptor>
          </descriptors>
          <finalName>geoserver-${project.version}</finalName>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
            <manifestEntries>
              <GeoServerModule>community</GeoServerModule>
              <Application-Name>${project.build.finalname}</Application-Name>
              <Project-Version>${project.version}</Project-Version>
              <Iteration-Name>${iteration}</Iteration-Name>
              <Build-Timestamp>${maven.build.timestamp}</Build-Timestamp>
              <Git-Revision>${build.commit.id}</Git-Revision>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <!-- profiles for individual modules -->
  <profiles>
    <profile>
      <id>colormap</id>
      <modules>
        <module>colormap</module>
      </modules>
    </profile>
    <profile>
      <id>rest</id>
      <modules>
        <module>rest</module>
      </modules>
    </profile>
    <profile>
      <id>dds</id>
      <modules>
        <module>dds</module>
      </modules>
    </profile>
    <profile>
      <id>gpx</id>
      <modules>
        <module>gpxppio</module>
      </modules>
    </profile>
    <profile>
      <id>webservice</id>
      <modules>
        <module>app-schema</module>
      </modules>
    </profile>
    <profile>
      <id>app-schema</id>
      <modules>
        <module>app-schema</module>
      </modules>
    </profile>
    <profile>
      <id>programming-guide</id>
      <modules>
        <module>programming-guide</module>
      </modules>
    </profile>
    <profile>
      <id>notification</id>
      <modules>
        <module>notification-common</module>
        <module>notification</module>
      </modules>
    </profile>
    <profile>
      <id>notification-geonode</id>
      <modules>
        <module>notification-geonode</module>
      </modules>
    </profile>
    <profile>
      <id>communityRelease</id>
      <modules>
        <module>dds</module>
        <module>jdbcconfig</module>
        <module>colormap</module>
        <module>mbtiles</module>
        <module>geopkg</module>
        <module>pgraster</module>
        <module>dyndimension</module>
        <module>flatgeobuf</module>
        <module>spatialjson</module>
        <module>webp</module>
        <module>gpxppio</module>
        <module>jms-cluster</module>
        <module>hz-cluster</module>
        <module>solr</module>
        <module>elasticsearch</module>
        <module>wps-remote</module>
        <module>release</module>
        <module>gwc-distributed</module>
        <module>jdbcstore</module>
        <module>gdal</module>
        <module>gwc-azure-blob</module>
        <module>backup-restore</module>
        <module>ncwms</module>
        <module>gwc-sqlite</module>
        <module>jwt-headers</module>
        <module>security</module>
        <module>notification</module>
        <module>notification-common</module>
        <module>notification-geonode</module>
        <module>jdbc-metrics</module>
        <module>oseo</module>
        <module>s3-geotiff</module>
        <module>netcdf-ghrsst</module>
        <module>taskmanager</module>
        <module>web-ogr</module>
        <module>ogcapi</module>
        <module>importer-jdbc</module>
        <module>features-autopopulate</module>
        <module>features-templating</module>
        <module>gsr</module>
        <module>cog</module>
        <module>cov-json</module>
        <module>smart-data-loader</module>
        <module>rest-openapi</module>
        <module>schemaless-features</module>
        <module>web-service-auth</module>
        <module>gwc-mbtiles</module>
        <module>vsi</module>
        <module>libdeflate</module>
        <module>vector-mosaic</module>
        <module>proxy-base-ext</module>
        <module>xslt</module>
        <module>imagemap</module>
        <module>datadir-catalog-loader</module>
        <module>wps-longitudinal-profile</module>
        <module>monitor-kafka</module>
        <module>graticule</module>
        <module>wfs-freemarker</module>
      </modules>
    </profile>
    <profile>
      <id>sextante</id>
      <modules>
        <module>wps-sextante</module>
      </modules>
    </profile>
    <profile>
      <id>jdbcconfig</id>
      <modules>
        <module>jdbcconfig</module>
        <module>jdbcstore</module>
      </modules>
    </profile>
    <profile>
      <id>pgraster</id>
      <activation>
        <property>
          <name>pgraster</name>
        </property>
      </activation>
      <modules>
        <module>pgraster</module>
      </modules>
    </profile>
    <profile>
      <id>geopkg</id>
      <modules>
        <module>mbtiles</module>
        <module>geopkg</module>
      </modules>
    </profile>
    <profile>
      <id>mbtiles</id>
      <modules>
        <module>mbtiles</module>
      </modules>
    </profile>
    <profile>
      <id>dyndimension</id>
      <activation>
        <property>
          <name>dyndimension</name>
        </property>
      </activation>
      <modules>
        <module>dyndimension</module>
      </modules>
    </profile>
    <profile>
      <id>flatgeobuf</id>
      <modules>
        <module>flatgeobuf</module>
      </modules>
    </profile>
    <profile>
      <id>spatialjson</id>
      <modules>
        <module>spatialjson</module>
      </modules>
    </profile>
    <profile>
      <id>webp</id>
      <modules>
        <module>webp</module>
      </modules>
    </profile>
    <profile>
      <id>rest-ext</id>
      <activation>
        <property>
          <name>rest-ext</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
              <descriptors>
                <!-- If you are re-enabling this, remember to re-add the documentation -->
                <descriptor>release/ext-rest-ext.xml</descriptor>
              </descriptors>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <modules>
        <module>rest-ext</module>
      </modules>
    </profile>
    <profile>
      <id>solr</id>
      <modules>
        <module>solr</module>
      </modules>
    </profile>
    <profile>
      <id>elasticsearch</id>
      <modules>
        <module>elasticsearch</module>
      </modules>
    </profile>

    <profile>
      <id>rest-upload</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
              <descriptors>
                <!-- If you are re-enabling this, remember to re-add the documentation -->
                <descriptor>release/ext-rest-upload.xml</descriptor>
              </descriptors>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <modules>
        <module>rest-upload</module>
      </modules>
    </profile>

    <profile>
      <id>jms-cluster</id>
      <modules>
        <module>jms-cluster</module>
      </modules>
    </profile>
    <profile>
      <id>activemq</id>
      <modules>
        <module>jms-cluster</module>
      </modules>
    </profile>
    <profile>
      <id>hz-cluster</id>
      <modules>
        <module>hz-cluster</module>
      </modules>
    </profile>
    <profile>
      <id>geomesa</id>
      <modules>
        <module>geomesa</module>
      </modules>
    </profile>
    <profile>
      <id>gwc-distributed</id>
      <activation>
        <property>
          <name>all</name>
          <value>true</value>
        </property>
      </activation>
      <modules>
        <module>gwc-distributed</module>
      </modules>
    </profile>
    <profile>
      <id>jdbcstore</id>
      <modules>
        <module>jdbcconfig</module>
        <module>jdbcstore</module>
      </modules>
    </profile>
    <profile>
      <id>gdal-translate</id>
      <modules>
        <module>gdal</module>
      </modules>
    </profile>
    <profile>
      <id>gwc-azure-blob</id>
      <modules>
        <module>gwc-azure-blob</module>
      </modules>
    </profile>
    <profile>
      <id>community-release-module</id>
      <modules>
        <module>release</module>
      </modules>
    </profile>
    <profile>
      <id>wps-remote</id>
      <modules>
        <module>wps-remote</module>
      </modules>
    </profile>
    <profile>
      <id>backup-restore</id>
      <modules>
        <module>backup-restore</module>
      </modules>
    </profile>
    <profile>
      <id>ncwms</id>
      <modules>
        <module>colormap</module>
        <module>ncwms</module>
      </modules>
    </profile>
    <profile>
      <id>gwc-sqlite</id>
      <modules>
        <module>gwc-sqlite</module>
      </modules>
    </profile>

    <profile>
      <id>jwt-headers</id>
      <modules>
        <module>jwt-headers/jwt-headers-util</module>
        <module>jwt-headers/gs-jwt-headers</module>
      </modules>
    </profile>

    <profile>
      <id>oauth2-google</id>
      <modules>
        <module>security</module>
      </modules>
    </profile>
    <profile>
      <id>oauth2-github</id>
      <modules>
        <module>security</module>
      </modules>
    </profile>
    <profile>
      <id>oauth2-geonode</id>
      <modules>
        <module>security</module>
      </modules>
    </profile>
    <profile>
      <id>oauth2-openid-connect</id>
      <modules>
        <module>security</module>
      </modules>
    </profile>
    <profile>
      <id>oauth2-all</id>
      <modules>
        <module>security</module>
      </modules>
    </profile>
    <profile>
      <id>keycloak</id>
      <modules>
        <module>security</module>
      </modules>
    </profile>
    <profile>
      <id>oseo</id>
      <modules>
        <module>oseo</module>
      </modules>
    </profile>
    <profile>
      <id>jdbc-metrics</id>
      <modules>
        <module>jdbc-metrics</module>
      </modules>
    </profile>
    <profile>
      <id>s3-geotiff</id>
      <modules>
        <module>s3-geotiff</module>
      </modules>
    </profile>
    <profile>
      <id>ghrsst</id>
      <modules>
        <module>netcdf-ghrsst</module>
      </modules>
    </profile>
    <profile>
      <id>cog</id>
      <modules>
        <module>cog</module>
      </modules>
    </profile>
    <profile>
      <id>cov-json</id>
      <modules>
        <module>cov-json</module>
      </modules>
    </profile>
    <profile>
      <id>taskmanager</id>
      <modules>
        <module>taskmanager</module>
      </modules>
    </profile>
    <profile>
      <id>taskmanager-s3</id>
      <modules>
        <module>taskmanager</module>
      </modules>
    </profile>
    <profile>
      <id>taskmanager-metadata</id>
      <modules>
        <module>taskmanager</module>
      </modules>
    </profile>
    <profile>
      <id>monitor-hibernate</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
              <descriptors>
                <descriptor>release/ext-monitor-hibernate.xml</descriptor>
              </descriptors>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <modules>
        <module>monitor-hibernate</module>
      </modules>
    </profile>
    <profile>
      <id>monitor-kafka</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
              <descriptors>
                <descriptor>release/ext-monitor-kafka.xml</descriptor>
              </descriptors>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <modules>
        <module>monitor-kafka</module>
      </modules>
    </profile>
    <profile>
      <id>web-ogr</id>
      <modules>
        <module>web-ogr</module>
      </modules>
    </profile>
    <profile>
      <id>ogcapi</id>
      <modules>
        <module>ogcapi</module>
      </modules>
    </profile>
    <profile>
      <id>importer-jdbc</id>
      <modules>
        <module>importer-jdbc</module>
      </modules>
    </profile>
    <profile>
      <id>features-autopopulate</id>
      <modules>
        <module>features-autopopulate</module>
      </modules>
    </profile>
    <profile>
      <id>features-templating</id>
      <modules>
        <module>features-templating</module>
      </modules>
    </profile>
    <profile>
      <id>gsr</id>
      <modules>
        <module>gsr</module>
      </modules>
    </profile>
    <profile>
      <id>smart-data-loader</id>
      <modules>
        <module>smart-data-loader</module>
      </modules>
    </profile>
    <profile>
      <id>rest-openapi</id>
      <modules>
        <module>rest-openapi</module>
      </modules>
    </profile>
    <profile>
      <id>schemaless-features</id>
      <modules>
        <module>schemaless-features</module>
      </modules>
    </profile>
    <profile>
      <id>web-service-auth</id>
      <modules>
        <module>web-service-auth</module>
      </modules>
    </profile>
    <profile>
      <id>gwc-mbtiles</id>
      <modules>
        <module>gwc-mbtiles</module>
      </modules>
    </profile>
    <profile>
      <id>vsi</id>
      <modules>
        <module>vsi</module>
      </modules>
    </profile>
    <profile>
      <id>libdeflate</id>
      <modules>
        <module>libdeflate</module>
      </modules>
    </profile>
    <profile>
      <id>vector-mosaic</id>
      <modules>
        <module>vector-mosaic</module>
      </modules>
    </profile>
    <profile>
      <id>proxy-base-ext</id>
      <modules>
        <module>proxy-base-ext</module>
      </modules>
    </profile>
    <profile>
      <id>xslt</id>
      <modules>
        <module>xslt</module>
      </modules>
    </profile>
    <profile>
      <id>imagemap</id>
      <modules>
        <module>imagemap</module>
      </modules>
    </profile>
    <profile>
      <id>datadir-catalog-loader</id>
      <modules>
        <module>datadir-catalog-loader</module>
      </modules>
    </profile>
    <profile>
      <id>wps-longitudinal-profile</id>
      <modules>
        <module>wps-longitudinal-profile</module>
      </modules>
    </profile>
    <profile>
      <id>graticule</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
              <descriptors>
                <descriptor>release/ext-graticule.xml</descriptor>
              </descriptors>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <modules>
        <module>graticule</module>
      </modules>
    </profile>
    <profile>
      <id>wfs-freemarker</id>
      <modules>
        <module>wfs-freemarker</module>
      </modules>
    </profile>
  </profiles>
</project>
